#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <string>
using namespace std;
#define MAX 100
#define BASE 10000
int fac[210][MAX];
void mult(int a[], int b)
{
    int i, temp = 0;
    for (i = MAX - 1; i >= 0; --i)
    {
        temp = b * a[i] + temp;
        a[i] = temp % BASE;
        temp = temp / BASE;
    }
}
void div(int a[], int b)
{
    int i, temp = 0;
    for (i = 0; i < MAX; ++i)
    {
        temp = temp * BASE + a[i];
        a[i] = temp / b;
        temp = temp % b;
    }
}
void make()
{
    int i;
    fac[0][MAX - 1] = 1;
    for (i = 1; i <= 100; ++i)
    {
        memcpy(fac[i], fac[i - 1], MAX * sizeof(int));
        mult(fac[i], (4 * i - 2));
        div(fac[i], i + 1);
    }
}
void print(int a[])
{
    int i;
    for (i = 0; i < MAX; ++i)
    {
        if (a[i])
            break;
    }
    printf("%d", a[i++]);
    for (; i < MAX; ++i)
    {
        printf("%04d", a[i]);
    }
    printf("\n");
}
int main()
{
    int m;
    make();
    while (scanf("%d", &m) != EOF && m != -1)
    {
        print(fac[m]);
    }
    return 0;
}
//https://webcache.googleusercontent.com/search?q=cache:Sb64Hvl65gEJ:https://www.cnblogs.com/baidongtan/archive/2012/08/30/2664594.html+&cd=1&hl=zh-CN&ct=clnk&gl=jp&client=firefox-b-d